
#
import numpy as np
#椒盐噪声
#如果此点为噪声点，那么翻转此点
def reverse_boolean(b):
    return(not(b))    
# In[61]:
def element_noise(element, noise):
    if noise:
        return reverse_boolean(element)
    else:
        return element
# In[62]:
#矢量化函数element_noise
vect_element_noise=np.vectorize(element_noise)
## MAIN FUNCTION
def add_noise(np_array,percentage):
    noise=np.random.rand(*np_array.shape)>percentage
    #print (noise)
    return vect_element_noise(np_array,noise)
   